/**
 * 段前段后间距插件
 * @file
 * @since 1.2.6.1
 */

/**
 * 设置段间距
 * @command rowspacing
 * @method execCommand
 * @param { String } cmd 命令字符串
 * @param { String } value 段间距的值，以px为单位
 * @param { String } dir 间距位置，top或bottom，分别表示段前和段后
 * @example
 * ```javascript
 * editor.execCommand( 'rowspacing', '10', 'top' );
 * ```
 */

UE.plugins["rowspacing"] = function () {
    var me = this;
    me.setOpt({
        rowspacingtop: ["5", "10", "15", "20", "25"],
        rowspacingbottom: ["5", "10", "15", "20", "25"]
    });
    me.commands["rowspacing"] = {
        execCommand: function (cmdName, value, dir) {
            this.execCommand("paragraph", "p", {
                style: "margin-" + dir + ":" + value + "px"
            });
            return true;
        },
        queryCommandValue: function (cmdName, dir) {
            var pN = domUtils.filterNodeList(
                this.selection.getStartElementPath(),
                function (node) {
                    return domUtils.isBlockElm(node);
                }
                ),
                value;
            //trace:1026
            if (pN) {
                value = domUtils
                    .getComputedStyle(pN, "margin-" + dir)
                    .replace(/[^\d]/g, "");
                return !value ? 0 : value;
            }
            return 0;
        }
    };
};
